
:: 注释 ==> ::<空格>[comment|内容] window 的注释 依然会被执行 ,只是不是输出而已
:: 关闭 命令 显示 @echo off 不影响 命令输出 结果

@echo off

:: gbk -> 936
:: utf8 -> 65001
:: 处理 中文输出 乱码
:: [方案 1]
:: mode con cp select=65001
:: [方案 2]
chcp 65001

REM 注释  rem 注释 不是 不执行 [不推荐使用 rem]
echo window cmd run Test PHP Unit
:: (设置变量) 赋值 set var=value


IF not "%1"=="" (
    set CMD_ARGS=%1
)

IF "%1"=="" (
    set CMD_ARGS=0
)

:: 取值 %var%
echo %CMD_ARGS%


:: 注意此处 [] 意思为可选 实际 不写 []
:: IF [not] a == b command
:: IF [not] a == b (command)
:: 逻辑 判断
:: 括号里的 是 满足条件 后 要执行的 单行  命令
IF   %CMD_ARGS% == 123 (
        echo EQU
)

IF not  %CMD_ARGS% == 12 (
        echo NQU
)

:: 带 else 的 if 也只 能是 一行 [ 还有视情况而定 能否写成 带括号的 语句 ,有时需要将其写成一行]
IF   %CMD_ARGS% == 123 (
echo EQU
)  ELSE (
echo NQU
)



:: 清除 变量
set CMD_ARGS=

:: 扩展 参数变量
echo -----[ 批参数 扩展 ]-------------

:: 将 参数 1 替换 成 路径
echo %~dp1
:: 去掉 参数 1的 引号 (")
echo %~1
:: 将 %1 扩展到 一个完全合格的路径名
echo %~f1
:: 仅将 %1 扩展到一个文件名
echo %~n1

echo -------------------------------

:: rem 注释 输出 结果 命令还是回执行的
:: rem echo %~t2
:: rem echo %~1

::   FOR 循环 逻辑
::   语法: 对一组文件中的每一个文件执行某个特定命令。
::  ::FOR %%variable IN (set) DO command [command-parameters]
::   (set) 指定一个或一组文件。可以使用通配符。
::   command 指定对每个文件执行的命令。
::  ::command parameters 为特定命令指定参数或命令行开关

::   for %%c in (*.bat *.txt *.php *.cmd) do type %%c

::   for %%c in (*.bat *.txt *.php *.cmd) do echo %%c
::   for %%c in (*.bat *.txt *.php *.cmd) do type %%c
::   for %%a in (*.bat *.txt *.php *.cmd) do type %%a


:: choice /C YNC /M "退出 , 确认请按 Y，否请按 N，或者取消请按 C。"

:: IF errorlevel 3 (
:: echo ESC
:: )
:: IF errorlevel 2  (
:: echo NO
:: )
:: IF errorlevel 1  (
:: echo Yes
:: )


:: if errorlevel 1 set el=1
:: echo %el%
:: if errorlevel 2 set el=2
:: echo %el%
:: if errorlevel 3 set el=3
:: echo %el%
:: if errorlevel 4 set el=4
:: echo %el%
:: if errorlevel 5 set el=5
:: echo %el%

:: echo 按任意键 结束
:: pause
::
set el=

choice /C YNC /M "你真的要退出了吗, 确认请按 Y，否请按 N，或者取消请按 C。"
:: 序号 必须 从高到低
:: 判断用户 输入的是 第几个选择 以下的代码

if errorlevel 3 goto _ESC

if errorlevel 2 goto _continue

if errorlevel 1 goto _exit



:_continue
./TestCmd.cmd %1 %2

:_ESC
echo is end of this bat file
cls
goto _OK

:_exit
exit

:_OK
@echo on
